package springbootautoconfiguration.demo2;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.env.Environment;

import java.util.Objects;

// @SuppressWarnings("unused") 表示该属性在方法或类中没有使用
@SuppressWarnings("unused")
public class CustomCommandLineRunner implements CommandLineRunner {

    Environment env;

    // 使用构造方法的方式，注入Environment
    public CustomCommandLineRunner(Environment env){
        this.env = env;
    }

    @Override
    public void run(String... args) throws Exception {
        System.out.println("利用Spring Boot自动配置的CommandLineRunner");

        // 利用random的RandomValuePropertySource产生一个32位随机字符
        // Objects.requireNonNull()判断对象是否为空，空的时候报空指针异常
        System.out.println("生成一个随机字符串:".concat(Objects.requireNonNull(env.getProperty("random."))));
    }
}
